#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "TableauDynamique.h"

#ifndef _TERRAIN
#define _TERRAIN

/**
@brief la structure equipement qui defini l'equipement
**/
typedef struct{
	int dimXTerrain;
	int dimYTerrain;
	TableauDynamique tab;
    /**
    @brief tab est un tableau dynamique d'Equipements
    **/
}Terrain;

/**
@brief l'initTerrain est procedure d'initialisation du terrain.
**/
void initTerrain (Terrain *t);
void parametreTerrain (Terrain *t, int dimX, int dimY);

/**
@brief la procedure de liberation du  pointeur.
**/
void libereTerrain (Terrain *t);


/**
@brief l'accesseur permettant d'accéder aux données
**/
int getdimXTerrain(const Terrain *t);
int getdimYTerrain(const Terrain *t);
TableauDynamique *getTableauDynamiqueTerrain (Terrain *t);

/**
@brief la mutateurs permettant de modifier les données du jeu
**/
void setdimXTerrain(Terrain *t, int dimX);
void setdimYTerrain(Terrain *t, int dimY);
TableauDynamique *setTableauDynamiqueTerrain (Terrain *t);

/**
@brief la procedure de manipulation du terrain
**/
void ajouterEquipementTerrainEnParametrant(Terrain *t,int idEquipement, int dimX, int dimY, int posX, int posY, int degats, int protection);


/**
@brief Test de non-régression
**/
void testRegressionTerrain();


#endif

